# -*- coding: utf-8 -*-
'''
projecto- classe destinada ao algoritmo de ordenação: bubble sort
autor- Ana Isabel Marques 6052
data de criação do módulo- 28/05/2013

Complexidade Computacional:
        pior caso - O(n²)
        caso médio - O(n²)
        melhor caso - O(n) 
'''

class BubbleSort:
	
	'''
	Constructor
	@param A - lista de números inteiros
	'''
	def __init__(self, A):
	
		self.A = A
		pass
        
	'''
	Ordena uma lista através do algoritmo de ordenação: bubble sort
	Retorna uma lista ordenada
	'''
	def bubble_sort(self):
	
		for i in xrange(0, len(self.A)):
        
			for j in xrange(len(self.A)-1, i, -1):
        
				if self.A[j] < self.A[j-1]:
        
					self.A[j], self.A[j-1] = self.A[j-1], self.A[j]
					pass
			pass
		return self.A
	pass
pass
